package Interfaces;

import grafo.Grafo;
import grafo.Vertice;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;

/**
 *
 * @author Alexandre
 * @author Lucas
 */
public class Draw extends JPanel {

    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);

        g.setColor(Color.BLACK);
        for (Vertice VerticeO : Grafo.Vertices) {
            //Desenha os vértices
            g.fillOval(VerticeO.getX() - 2, VerticeO.getY() - 2, 4, 4);

            //Desenha as arestas
            /*for (Aresta Aresta : VerticeO.Arestas) {
             for (Vertice VerticeD : Grafo.Vertices) {
             if(Aresta.getIdDestino() == VerticeD.getIdVertice()){
             g.setColor(Color.BLUE);
             g.drawLine(VerticeO.getX(), VerticeO.getY(), VerticeD.getX(), VerticeD.getY());
             }
             }
             }*/
        }

        /**
         * Desenha o caminho mínimo se existir
         */
        int xO = -1, xD = -1;
        int yO = -1, yD = -1;
        for (int i = 1; i < Grafo.MenorCaminho.size(); i++) {
            for (Vertice Vertice : Grafo.Vertices) {
                if (Vertice.getIdVertice() == Grafo.MenorCaminho.get(i - 1)) {
                    xO = Vertice.getX();
                    yO = Vertice.getY();
                } else {
                    if (Vertice.getIdVertice() == Grafo.MenorCaminho.get(i)) {
                        xD = Vertice.getX();
                        yD = Vertice.getY();
                    }
                }
            }
            if (xO != -1 && yO != -1 && xD != -1 && yD != -1) {
                g.setColor(Color.BLUE);
                g.drawLine(xO, yO, xD, yD);
            }
        }
    }

}
